package com.flow.odr.utils;

import cn.hutool.core.util.ObjectUtil;
import cn.hutool.json.JSONObject;
import cn.hutool.json.JSONUtil;
import lombok.Data;
import org.beetl.sql.core.engine.PageQuery;

import java.io.Serializable;
import java.util.Map;

/**
 * @program: jx
 * @description: layuI 传递分页参数工具类
 * @author: Mr.Yan
 * @create: 2018-09-22 15:16
 **/
@Data
public class PageUtils extends PageQuery implements Serializable{
    private static final long serialVersionUID = -1202716581589799959L;

    //  每页记录数
    private int page;

    //  当前页数
    private int limit;

    //  参数(前台用 JSON.stringify({"":"","",""}))
    private String params;


    /**
     * 分页
     * @param pageSize    每页记录数
     * @param currPage    当前页数
     */
    public PageUtils(int page, int limit , String params) {
        this.page = page;
        this.limit = limit;
        this.params = params;

        //  利用@pageTag
        //  时设置当前页
        setPageNumber(page);
        //  设置记录数
        setPageSize(limit);
        if (ObjectUtil.isNotNull(params)){
            //  设置参数
            JSONObject jsonObject = JSONUtil.parseObj(params);
            // Map paramMap = JSONObject.fromObject(params);
            setParas(jsonObject);
        }

    }


}
